package com.navinfo.tripanalysis.common.pojo;

import lombok.Data;

import java.io.Serializable;
import java.util.Comparator;

/**
 * 一汽报警事件信息，目前只统计事件，不处理明细
 * @author hmc
 */
@Data
public class Point0F3D implements Serializable {

    /**
     * 车辆终端号
     */
    private long terminalid;

    /**
     * 报警事件开始时间
     */
    private long gpstime;

    /**
     * 报警事件结束时间
     */
    private long endgpstime;

    /**
     * 报警事件ID
     */
    private int incidentid;

    /**
     * 排序规则：
     * 1.按事件开始时间，升序
     * 2.按事件结束时间，升序序
     * 3.按事件ID，降序
     */
    public static final Comparator<Point0F3D> COMPARATOR = (o1, o2) -> {
        int r = 0;
        if (o1 != null && o2 != null) {
            if (o1.getGpstime() > o2.getGpstime()) {
                r = 1;
            } else if (o1.getGpstime() < o2.getGpstime()) {
                r = -1;
            }else {
                if(o1.getEndgpstime() > o2.getEndgpstime()){
                    r = 1;
                }else if(o1.getEndgpstime() < o2.getEndgpstime()){
                    r = -1;
                }else {
                    r = o1.incidentid - o2.getIncidentid();
                }
            }
        }
        return r;
    };
}
